#ifndef __ZRT_DAEMON_LOG_H__
#define __ZRT_DAEMON_LOG_H__

enum {
	ZRT_LOG_LVL_DEBUG,
	ZRT_LOG_LVL_INFO,
	ZRT_LOG_LVL_WARN,
	ZRT_LOG_LVL_ERR,
};

#define ZRT_LOG_LVL ZRT_LOG_LVL_INFO

#define zrt_log_fun(LVL, TAG, fmt, ...) {\
	if(LVL >= ZRT_LOG_LVL) { \
		fprintf(stderr, TAG ":" fmt, ##__VA_ARGS__); \
	}\
}

#define ZRT_LOG_ERR(TAG, fmt, ...)    zrt_log_fun(ZRT_LOG_LVL_ERR, TAG, fmt, ##__VA_ARGS__)
#define ZRT_LOG_WARN(TAG, fmt, ...)   zrt_log_fun(ZRT_LOG_LVL_WARN, TAG, fmt, ##__VA_ARGS__)
#define ZRT_LOG_INFO(TAG, fmt, ...)   zrt_log_fun(ZRT_LOG_LVL_INFO, TAG, fmt, ##__VA_ARGS__)
#define ZRT_LOG_DBG(TAG, fmt, ...)    zrt_log_fun(ZRT_LOG_LVL_DEBUG, TAG, fmt, ##__VA_ARGS__)

#endif
